草庐IT

JavaScript if...Else 语句

全部标签

php - if else 条件不适用于 php 中的数组值

我遇到了这个奇怪的问题。我正在从数组中获取值并尝试比较它,但它不起作用。代码-1item[0]['promocode'].'';echo$data->item[1]['promocode'];?>输出-1inhouseinhouse现在让我们尝试使用ifelse条件判断两个值是否相同代码-2item[0]['promocode'])==($data->item[1]['promocode'])){echo"bothvaluesaresame";}else{echo"bothvaluesareNOTsame";}?>输出-2bothvaluesareNOTsame很奇怪我不明白我做错了什

php - 我应该使用 mysqli_real_escape_string 还是应该使用准备好的语句?

这个问题在这里已经有了答案:HowcanIpreventSQLinjectioninPHP?(27个答案)关闭9年前。我应该使用mysqli_real_escape_string还是应该使用准备好的语句?我现在看到了一个解释准备语句的教程,但我看到它们做与mysqli_real_escape_string相同的事情,但它使用更多行准备好的报表有什么好处吗?您认为最好的使用方法是什么?

php - 在准备好的 mysqli 语句中多次使用一个参数

是否可以在准备好的mysqli语句中多次使用一个参数只绑定(bind)一次?像这样$stmt=$mysqli->prepare(SELECT*FROMuserWHEREageBETWEEN?1-2AND?1+2);$stmt->bind_param('i',$myAge);我认为这可以通过PDO实现,但我不知道如何使用mysqli实现。 最佳答案 只是为了结束这个问题:答案是否。如果您只想绑定(bind)一个参数一次并在查询中多次使用它,您必须使用PDO,这可能还需要特殊配置。但根据this,似乎有更多理由使用PDO而不是mysql

php - 速记 switch 语句是否存在(在 PHP 中)?

我想将同一个变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值返回不同的值。我想这样做inlineorshorthand,就像使用if语句一样。采取以下switch声明:switch($color_name){case'red':case'blue':$color_type=handlePrimaryColor($in);break;case'yellow':case'cyan':$color_type=handleSecondaryColor($in);break;case'azure':case'violet':$color_type=handleTertiaryColor

php - 准备好的语句检查行是否存在

我是Php中准备好的语句的新手,并且想知道您最好如何检查一行是否已经存在,因为我在这个阶段似乎感到困惑:prepare("INSERTINTOusers(email,password)VALUES(?,?)");$stmt->bind_param("ss",$email,$password);if(mysqli_num_rows($stmt)>0){$email=$_POST['email'];$password=$_POST['password'];$stmt->execute();header('Location:../login.php');}else{echo'useralre

PHP - 帮助编码 echo 语句以创建不同背景颜色的每隔一行

我正在动态创建一个表(stats_1),并且希望每一行的背景颜色都不同。到目前为止,所有的线都具有相同的背景颜色。我有以下php代码打印回显和语句:$keys=array('Col1','Col2','Col3','Col4','Col5','Col6','Col7');echo'';foreach($keysas$column)echo''.$column.'';echo'';foreach($dataas$row){echo'';foreach($keysas$column)if(isset($row[$column])){echo''.$row[$column];}else{ec

php - PDO 准备语句的语法错误

我才刚刚开始使用准备好的语句,我的前几个示例效果很好,但现在我遇到了我不理解的SQL语法。我有一个执行INSERT的函数,它采用关联数组的参数,其中数组的键是字段,数组的值是要插入的值。例如:$arr=array("field1"=>"value1","field2"=>"value2");$this->insert("table",$arr);将执行:INSERTINTOtable('field1','field2')VALUES('value1','value2')但是,当尝试这样做时,出现以下错误:PDOException:SQLSTATE[42000]:Syntaxerroro

php - 简单的 if 语句(不是速记)

所以今天,和往常一样,我在编程。继续我平常的工作,打字,听DaftPunk和其他各种时髦的曲调。然后突然间,我不得不按照以下方式写一些东西:$x='a';//Forinstanceif($x=='a'||$x=='b'){//...}足够简单,我说的不是太破旧。可是等等!我心想“一定有更简单的方法来做到这一点-我在重复自己”。所以我开始尝试使用以下代码解决这个问题:if($x==('a'||'b')){//...}但是,这是行不通的。完全没有。总是是真的。如果$x等于a、b、c或cake。所以我生闷气,哭了一会儿,决定问Stackoverflow是否有人知道为什么。谢谢!

php - 同一页面上的准备语句和 mysqli_query

我正在使用mysqli预处理语句$email=$_POST['email'];$password=$_POST['password'];$sql="SELECT*fromuserswhereemail=?andpassword=?";$result=$db->prepare($sql);$result->bind_param('ss',$email,$password);$result->execute();由于帖子值来自用户,我遵循此方法但是例如..我想像所有用户一样从数据库中获取一些东西SELECT*fromuserswhereactive=1我应该在这里也使用准备好的语句还是简单

php - 在分号上拆分 php 中的 sql 语句(但不在引号内)

当用户在自由格式字段中使用分号时,我的系统会导致错误。我将其追溯到一个简单的爆炸语句:$array=explode(";",$sql);因为这一行在一个从整个系统调用的子例程中,所以我想用可以正确拆分的东西替换这一行,而不会破坏系统的其余部分。我以为我是str_getcsv的赢家,但这也不够复杂。看下面的例子$sql="BEGIN;INSERTINTOTABLE_A(a,b,c)VALUES('42','12','\'ab\'c;DEF');INSERTINTOTABLE_B(d,e,f)VALUES('42','43','XY\'sZ;uvw')ONDUPLICATEKEYUPDAT